prep /nologo /om /ft /SF CQuantumDoc::SimThreadStart "D:\users\jon\quantum\Release\quantum"
profile /nologo /nc "D:\users\jon\quantum\Release\quantum" 
prep /nologo /m "D:\users\jon\quantum\Release\quantum"
plist /nologo "D:\users\jon\quantum\Release\quantum"
Profile: Function timing, sorted by time
Date:    Fri May 16 17:42:57 1997


Program Statistics
------------------
    Command line at 1997 May 16 17:38: "D:\users\jon\quantum\Release\quantum" 
    Start function: CQuantumDoc::SimThreadStart(void *)
    Total time: 13726.780 millisecond
    Time outside of functions: 5.697 millisecond
    Call depth: 17
    Total functions: 354
    Total hits: 8149435
    Function coverage: 18.1%
    Overhead Calculated 7
    Overhead Average 7

Module Statistics for quantum.exe
---------------------------------
    Time in module: 13721.084 millisecond
    Percent of time in module: 100.0%
    Functions in module: 354
    Hits in module: 8149435
    Module function coverage: 18.1%

        Func          Func+Child           Hit
        Time   %         Time      %      Count  Function
---------------------------------------------------------
    6474.722  47.2    12856.680  93.7   516096 CMetaverse::CalculateGate(class CGate const *,class CComplexVector &,class CComplexVector &,class CComplexVector &,int) (metaverse.obj)
    2635.585  19.2     2635.585  19.2   516096 CComplexMatrix::Multiply(class CComplexVector &,class CComplexVector const &) (matrix.obj)
    1267.994   9.2     1267.994   9.2  2523430 CInputOutputGate::OutputPins(void) (gate.obj)
    1167.716   8.5     1167.716   8.5  2528016 CInputOutputGate::InputPins(void) (gate.obj)
     600.726   4.4     3236.312  23.6   516096 CInputOutputGate::CalcOutput(class CComplexVector &,class CComplexVector const *) (gate.obj)
     540.658   3.9    13421.714  97.8        5 CMetaverse::SimulateSubGroup(class CComplexVector &,class CCircuit *,class CGateGroup const &,int &) (metaverse.obj)
     363.801   2.7      363.801   2.7   688212 CInputOutputGate::OutputPin(int) (gate.obj)
     361.501   2.6      361.501   2.6   690694 CInputOutputGate::InputPin(int) (gate.obj)
      57.112   0.4      111.545   0.8        2 CMetaverse::DumpAmplitdues(class CComplexVector const &,int) (metaverse.obj)
      54.152   0.4       54.152   0.4    65537 CComplex::MagSquared(void) (matrix.obj)
      30.282   0.2       30.282   0.2    34012 CQList<class CGate const *>::operator=(class CQList<class CGate const *> const &) (metaverse.obj)
      28.359   0.2       43.634   0.3     2380 CGateGroup::ComputeTransitiveEnclosure(class CGate *) (gategroup.obj)
      26.637   0.2       26.637   0.2    16721 CComplex::operator=(double const &) (matrix.obj)
      14.710   0.1       49.842   0.4        1 CCircuit::OrderGates(void) (circuit.obj)
      13.399   0.1       13.399   0.1     9153 operator<(class CGateGroup const &,class CGateGroup const &) (gategroup.obj)
      12.446   0.1       12.446   0.1      911 CGateGroup::CGateGroup(void) (metaverse.obj)
      12.431   0.1       53.817   0.4      141 CComplexVector::SetLength(int,int) (matrix.obj)
      10.536   0.1       57.321   0.4        9 CGateGroup::ExpandGatesToSeperateGroups(class CQList<class CGateGroup> &) (gategroup.obj)
       7.998   0.1        7.998   0.1     2462 CQList<class CGate const *>::~CQList<class CGate const *>(void) (metaverse.obj)
       7.726   0.1        7.726   0.1    16748 CComplex::`default constructor closure'(void) (matrix.obj)
       7.604   0.1        7.604   0.1     9080 CGateGroup::operator=(class CGateGroup const &) (metaverse.obj)
       7.018   0.1       33.654   0.2      141 CComplexVector::Zero(void) (matrix.obj)
       6.414   0.0        6.414   0.0     9153 operator==(class CGateGroup const &,class CGateGroup const &) (gategroup.obj)
       3.704   0.0       11.701   0.1     1231 CGateGroup::~CGateGroup(void) (metaverse.obj)
       1.653   0.0        1.653   0.0      516 CQList<class CGate const *>::GrowTo(int) (metaverse.obj)
       0.722   0.0        8.833   0.1      321 CQList<class CGateGroup>::GrowTo(int) (metaverse.obj)
       0.688   0.0    13720.885 100.0        1 CQuantumDoc::QuantumWorkerThread(struct CQuantumDoc::Simdata *) (quantumdoc.obj)
       0.650   0.0        0.650   0.0      154 CComplexVector::~CComplexVector(void) (matrix.obj)
       0.570   0.0        0.570   0.0        1 CGateGroup::Sort(void) (gategroup.obj)
       0.512   0.0       44.146   0.3      518 CGateGroup::AddGate(class CGate *) (gategroup.obj)
       0.373   0.0       82.965   0.6        4 CMetaverse::PartitionGroup(class CGateGroup const &,int,int,class CQList<class CGateGroup> &) (metaverse.obj)
       0.370   0.0        0.437   0.0        5 CQuantumDoc::SimCallback(int,void *) (quantumdoc.obj)
       0.294   0.0        0.352   0.0        1 CCircuit::IsValidQuantumCircuit(void) (circuit.obj)
       0.279   0.0        0.279   0.0        3 operator<<(class ostream &,class CComplex const &) (matrix.obj)
       0.246   0.0    13720.186 100.0        1 CMetaverse::StartSimulation(class CCircuit *,int,int,void (*)(int,void *),void *) (metaverse.obj)
       0.196   0.0    13510.417  98.5        1 CMetaverse::SimulateCircuitEfficiently(class CComplexVector &,class CCircuit *) (metaverse.obj)
       0.191   0.0        0.191   0.0       14 CQList<class CGate const *>::CQList<class CGate const *>(int) (metaverse.obj)
       0.174   0.0    13721.084 100.0        1 CQuantumDoc::SimThreadStart(void *) (quantumdoc.obj)
       0.114   0.0        0.114   0.0      602 CGate::InputPins(void) (gate.obj)
       0.103   0.0        0.103   0.0        8 CSingleLock::~CSingleLock(void) (quantumdoc.obj)
       0.096   0.0        0.571   0.0        1 CMetaverse::SetInitialAmplitudes(class CComplexVector &,class CCircuit const *) (metaverse.obj)
       0.094   0.0    13719.938 100.0        1 CMetaverse::Simulate(class CCircuit *,class CComplexVector &) (metaverse.obj)
       0.094   0.0    13481.595  98.3        3 CMetaverse::SimulateGroup(class CComplexVector &,class CCircuit *,class CGateGroup const &,int &) (metaverse.obj)
       0.075   0.0        0.085   0.0        1 CMetaverse::VerifyOutputGateConnections(class CCircuit *) (metaverse.obj)
       0.070   0.0        0.080   0.0       14 CComplexVector::Copy(class CComplexVector const &) (matrix.obj)
       0.059   0.0        0.059   0.0       98 CQList<class CGate *>::GrowTo(int) (circuit.obj)
       0.051   0.0        0.051   0.0       68 CQList<int>::GrowTo(int) (metaverse.obj)
       0.030   0.0        0.030   0.0        8 CQList<int>::~CQList<int>(void) (metaverse.obj)
       0.023   0.0        0.023   0.0      112 CSinkGate::InputPins(void) (gate.obj)
       0.019   0.0        0.106   0.0       14 CStaticSource::CalcOutput(class CComplexVector const *) (gate.obj)
       0.019   0.0        0.019   0.0       14 operator==(class CComplex const &,class CComplex const &) (matrix.obj)
       0.018   0.0        0.018   0.0      297 CComplexVector::Reset(void) (matrix.obj)
       0.018   0.0        0.018   0.0      140 CComplexVector::CComplexVector(void) (matrix.obj)
       0.017   0.0        7.090   0.1       14 CQList<class CGateGroup>::~CQList<class CGateGroup>(void) (metaverse.obj)
       0.008   0.0        0.087   0.0       14 CComplexVector::CComplexVector(class CComplexVector const &) (matrix.obj)
       0.008   0.0        0.008   0.0       42 CSinkGate::InputPin(int) (gate.obj)
       0.007   0.0        0.007   0.0       20 CSourceGate::OutputPin(int) (gate.obj)
       0.004   0.0        0.004   0.0       42 CGate::OutputPins(void) (gate.obj)
       0.004   0.0        0.356   0.0        1 CMetaverse::VerifyCircuitSize(class CCircuit *) (metaverse.obj)
       0.002   0.0        0.002   0.0        8 CQList<int>::Find(int const &) (metaverse.obj)
       0.002   0.0        0.002   0.0        1 ToBinary(char *,int,int) (metaverse.obj)
       0.000   0.0        0.000   0.0        1 CComplex::operator+=(double const &) (matrix.obj)
       0.000   0.0        0.002   0.0        1 CMetaverse::FreeAmplitudes(void) (metaverse.obj)
       0.000   0.0        0.000   0.0       42 CSourceGate::OutputPins(void) (gate.obj)
